在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ vue數(shù)組中每個(gè)元素都有一列計(jì)算屬性,該怎么寫?屬性sum=屬性a+屬性b

vue數(shù)組中每個(gè)元素都有一列計(jì)算屬性,該怎么寫?屬性sum=屬性a+屬性b

已經(jīng)實(shí)現(xiàn)了,解決方式

https://segmentfault.com/q/10...

data1:{sum:3,a:1,b:2}
data2:{sum:9,a:4,b:5}
...

dataAry:[data1,data2...]

clipboard.png

a列和b列可編輯,

a列或b列的值改變,sum列的值也相應(yīng)變化

這樣的需求computed應(yīng)該怎么寫

如果同時(shí) sum也是可編輯的,手動(dòng)將sum修改為0,a和b的值也都變?yōu)?

下圖為實(shí)際的設(shè)計(jì)圖

clipboard.png
圖片上傳中...]

全選和 后面那些列的checkbox要相互聯(lián)動(dòng)

<el-checkbox :checked="getBoolean(scope.row)">單關(guān)</el-checkbox>

getBoolean(row) {
    console.log(row)
    console.log(row.gameList.every(game => game.cbSingleChecked))
    return row.gameList.every(game => game.cbSingleChecked)
  },

這樣寫不行,

回答
編輯回答
愛礙唉

如果用elementUI的table就簡(jiǎn)單多了

<template>
    <div>
        <el-table :data="data" border >
          <el-table-column label="a" prop="a"></el-table-column>
          <el-table-column label="b" prop="b"></el-table-column>
          <el-table-column label="sum">
              <template slot-scope="scope">
                  {{scope.row.a + scope.row.b}}
              </template>
          </el-table-column>
        </el-table>
    </div>
</template>

<script>
export default {
    data(){
        return {
            data: [
                {
                    a: 1,
                    b: 2,
                },
                {
                    a: 1,
                    b: 2,
                },
            ]
        }
    }
}
</script>

如果同時(shí) sum也是可編輯的,手動(dòng)將sum修改為0,a和b的值也都變?yōu)?

居然還有提這種需求的人??

2017年4月18日 04:44
編輯回答
哚蕾咪

已經(jīng)解決了,使用了watch的深監(jiān)控

以其中的一個(gè)現(xiàn)金渠道單關(guān)舉例就好:

目前我的寫法是

bettingObjectList: {

deep: true,
handler: function(bettingObjectList) {
  bettingObjectList.forEach(item => {
    item.cbSingleCheckedAll = item.gameList.every(game => game.cbSingleChecked)
    item.cbAllUpCheckedAll = item.gameList.every(game => game.cbAllUpChecked)
    item.abSingleCheckedAll = item.gameList.every(game => game.abSingleChecked)
    item.abAllUpCheckedAll = item.gameList.every(game => game.abAllUpChecked)
  })
}

}

但我這個(gè)只支持單向聯(lián)動(dòng),不支持雙向的聯(lián)動(dòng),求各位指教,謝謝

加上下面的代碼已經(jīng)ok了

<el-checkbox v-model="scope.row.cbSingleCheckedAll"
             @change="cbSingleCheckAll(scope.row.cbSingleCheckedAll,scope.row)">單關(guān)
</el-checkbox>


methods: {
  cbSingleCheckAll(checked, bettingObject) {
    bettingObject.gameList.forEach(game => game.cbSingleChecked = checked)
  },
2018年6月29日 00:38
編輯回答
薄荷糖

這樣的需求不建議使用computed,可以使用filter,自定義函數(shù),乃至花括號(hào)做運(yùn)算也行


如果同時(shí) sum也是可編輯的,手動(dòng)將sum修改為0,a和b的值也都變?yōu)?,提這個(gè)需求的人是誰(shuí),可以和他干一架了

sum改為0還好說(shuō),改為1,那么a和b誰(shuí)為1?改為9呢?組合多了去了,你怎么去界定?如果說(shuō)只是改為0,那不如加一個(gè)按鈕或加一個(gè)點(diǎn)擊事件,使數(shù)據(jù)歸零

2017年4月28日 04:23