分析原因:
可以通过 for-in 语句校验 formdata,然后用 v-bind 给 disabled 属性绑定校验函数
这个校验函数可以
绑定在 Vue 的原型链上
,这样能直接在 template 中使用
或者写在第三方 js 中作为一个工具函数,然后在组件内引入这个 js,并在组件的 data 中定义
import Util from '@/common/util'
data () {
return {
Util: Util
解决方案:
* 判断一个对象是否所有属性都有值
* @param {Object} form 目标对象
* @param {Array} except 排除该数组中的属性名
* @returns {Boolean}
Vue.prototype.$isFormReady = function (form, except) {
for (let i in form) {
if (except && except.indexOf(i) !== -1) continue
if (!form[i]) return true
return false
<button @click="handleClick"
:disabled="$isFormReady(formData, ['remark'])">
</button>