# disabled的父子控制 绝大多数时候,我们皆认同父组件设置`disabled:true`之后所有子组件都会被disabled ```javascript const widget = { type: "a", disabled: true, items: [ { type: "b" } ] }; ``` 但是存在一种场景,有没有可能父组件`disabled:true`,但是某个子组件要可用呢`disabled:false` 由于组件默认的disabled属性就是false,所以没办法通过props控制,有一种方式是在`mounted`中重新`setEnable(true)` ```javascript const widget = { type: "a", disabled: true, items: [ { type: "b" }, { type: "b", mounted: function () { this.setEnable(true); }, } ] }; ``` disabled控制还有一个特性,当使用者手动控制disabled状态后,会对组件添加一个`_manualSetEnable`标记,之后该组件将不再受父组件的`setEnable`控制 手动控制disabled状态指设置`dsiabled:true`和手动调用`setEnable`方法 ```javascript const widget = { type: "a", items: [ { type: "b" }, { type: "b", disabled: true, } ], mounted: function () { // 对父组件操作无法再控制到子组件b了 this.setEnable(true); } }; ```