Flutter 基礎元件 單選框和核取方塊

2022-06-27 09:09:10 字數 921 閱讀 9203

material元件庫中提供了material風格的單選開關switch和核取方塊checkbox,雖然它們都是繼承自statefulwidget,但它們本身不會儲存當前選中狀態,選中狀態都是由父元件來管理的。當switch或checkbox被點選時,會觸發它們的onchanged**,可以在此**中處理選中狀態改變邏輯。

// 單選框和核取方塊

import 'package:flutter/material.dart';

class switchcheckboxroute extends statefulwidget

class _switchcheckboxroutestate extends state);

},),

// 核取方塊

checkbox(

value: _checkboxselected,

onchanged: (value) );

},),

],),

),);

}}

switch和checkbox屬性比較簡單,它們都有乙個activecolor屬性,用於設定啟用態的顏色。至於大小,到目前為止,checkbox的大小是固定的,無法自定義,而switch只能定義寬度,高度也是固定的。值得一提的是checkbox有乙個屬性tristate ,表示是否為三態,其預設值為false ,這時checkbox有兩種狀態即「選中」和「不選中」,對應的value值為true和false 。如果tristate值為true時,value的值會增加乙個狀態null。

通過switch和checkbox我們可以看到,雖然它們本身是與狀態(是否選中)關聯的,但它們卻不是自己來維護狀態,而是需要父元件來管理狀態,然後當使用者點選時,再通過事件通知給父元件,這樣是合理的,因為switch和checkbox是否選中本就和使用者資料關聯,而這些使用者資料也不可能是它們的私有狀態。

Vue 單選框與單選框組 元件

v model 通過當然繫結的值與input上的value值來確定當前選中項。在父作用域中通過active設定當前預設選中項,如果選中項發生改變後通過input事件通知傳遞到父作用域,告知當前選中項.自定義元件 v model 資料雙向繫結 radio v model active label 1 ...

js 多選框 單選框

此多選框 單選框可以換按鈕 只更改雪碧圖的定位即可。沒有使用自帶的控制項,是重新寫的。用到了模組化開發,類的匯出匯入,類的繼承。type module import radio from js radio.js import checkbox from js checkbox.js let hobb...

python Tkinter單選框(五)

一 單選框 from tkinter import root tk v intvar radiobutton root,text one variable v,value 1,pack anchor w radiobutton root,text two variable v,value 2,pac...