Class SelectionInput

การเลือกอินพุต

ช่องป้อนข้อมูลที่ช่วยให้เลือกจากชุดตัวเลือกที่กำหนดไว้ล่วงหน้าได้

รองรับการตรวจสอบการส่งแบบฟอร์มสำหรับเมนู SelectionInputType.DROP_DOWN และ SelectionInputType.MULTI_SELECT เท่านั้น เมื่อตั้งค่า Action.setAllWidgetsAreRequired(allWidgetsAreRequired) เป็น true หรือระบุวิดเจ็ตนี้ผ่าน Action.addRequiredWidget(requiredWidget) ระบบจะบล็อกการดำเนินการส่ง เว้นแต่จะเลือกค่า

พร้อมให้บริการสำหรับส่วนเสริมของ Google Workspace และแอป Google Chat

const checkboxGroup =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.CHECK_BOX)
        .setTitle('A group of checkboxes. Multiple selections are allowed.')
        .setFieldName('checkbox_field')
        .addItem('checkbox one title', 'checkbox_one_value', false)
        .addItem('checkbox two title', 'checkbox_two_value', true)
        .addItem('checkbox three title', 'checkbox_three_value', true)
        .setOnChangeAction(
            CardService.newAction().setFunctionName('handleCheckboxChange'),
        );

const radioGroup =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.RADIO_BUTTON)
        .setTitle(
            'A group of radio buttons. Only a single selection is allowed.')
        .setFieldName('checkbox_field')
        .addItem('radio button one title', 'radio_one_value', true)
        .addItem('radio button two title', 'radio_two_value', false)
        .addItem('radio button three title', 'radio_three_value', false);

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
            )
        .setMultiSelectMaxSelectedItems(3)
        .setMultiSelectMinQueryLength(1);

เมธอด

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
addDataSourceConfig(dataSourceConfig)SelectionInputตั้งค่ากำหนดแหล่งข้อมูลสำหรับการควบคุมการเลือก
addEventAction(eventAction)Widgetเพิ่มการดำเนินการของเหตุการณ์ที่ทำได้ในวิดเจ็ต
addItem(text, value, selected)SelectionInputเพิ่มรายการใหม่ที่เลือกได้
addMultiSelectItem(text, value, selected, startIconUri, bottomText)SelectionInputเพิ่มรายการใหม่ที่เลือกได้สำหรับเมนูแบบเลือกหลายรายการ
setExternalDataSource(action)SelectionInputตั้งค่าแหล่งข้อมูลภายนอก เช่น ฐานข้อมูลเชิงสัมพันธ์
setFieldName(fieldName)SelectionInputตั้งค่าคีย์ที่ระบุอินพุตการเลือกนี้ในออบเจ็กต์เหตุการณ์ที่สร้างขึ้นเมื่อมีการโต้ตอบ UI
setId(id)Widgetกำหนดรหัสที่ไม่ซ้ำกันที่กำหนดให้ซึ่งใช้ระบุวิดเจ็ตที่จะเปลี่ยน
setMultiSelectMaxSelectedItems(maxSelectedItems)SelectionInputกำหนดจำนวนรายการสูงสุดที่ผู้ใช้เลือกได้
setMultiSelectMinQueryLength(queryLength)SelectionInputกำหนดจำนวนอักขระข้อความที่ผู้ใช้ป้อนก่อนที่แอปจะค้นหาการเติมข้อความอัตโนมัติและ แสดงรายการที่แนะนำในการ์ด
setOnChangeAction(action)SelectionInputกำหนด Action ที่จะดำเนินการเมื่อใดก็ตามที่อินพุตการเลือกมีการเปลี่ยนแปลง
setPlatformDataSource(platformDataSource)SelectionInputตั้งค่าแหล่งข้อมูลจาก Google Workspace
setTitle(title)SelectionInputกำหนดชื่อที่จะแสดงก่อนช่องป้อนข้อมูล
setType(type)SelectionInputกำหนดประเภทของอินพุตนี้
setVisibility(visibility)Widgetตั้งค่าระดับการมองเห็นของวิดเจ็ต

เอกสารโดยละเอียด

addDataSourceConfig(dataSourceConfig)

ตั้งค่ากำหนดแหล่งข้อมูลสำหรับการควบคุมการเลือก ฟิลด์นี้ช่วยให้ควบคุมแหล่งข้อมูลได้ละเอียดยิ่งขึ้น ช่องนี้เป็นช่องที่ไม่บังคับ

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('contacts')
        .setTitle('Selected contacts')
        .setDataSourceConfig(
            CardService.newDataSourceConfig().setPlatformDataSource(
                CardService.newPlatformDataSource().setCommonDataSource(
                    CardService.CommonDataSource.USER,
                )
            )
        );

พารามิเตอร์

ชื่อประเภทคำอธิบาย
dataSourceConfigDataSourceConfigการกำหนดค่าแหล่งข้อมูลที่จะใช้กับอินพุตการเลือก

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


addEventAction(eventAction)

เพิ่มการดำเนินการของเหตุการณ์ที่ทำได้ในวิดเจ็ต

พารามิเตอร์

ชื่อประเภทคำอธิบาย
eventActionEventActionEventAction ที่จะเพิ่ม

รีเทิร์น

Widget — ออบเจ็กต์สำหรับการเชื่อมโยง


addItem(text, value, selected)

เพิ่มรายการใหม่ที่เลือกได้

พารามิเตอร์

ชื่อประเภทคำอธิบาย
textObjectข้อความที่จะแสดงสำหรับรายการนี้ ระบบจะแปลงอาร์กิวเมนต์ดั้งเดิมที่ไม่ใช่สตริงเป็นสตริงโดยอัตโนมัติ
valueObjectค่าอินพุตของแบบฟอร์มที่ส่งผ่านการเรียกกลับ ระบบจะแปลงอาร์กิวเมนต์ดั้งเดิมที่ไม่ใช่สตริง เป็นสตริงโดยอัตโนมัติ
selectedBooleanมีการเลือกรายการโดยค่าเริ่มต้นหรือไม่ หากอินพุตการเลือกยอมรับค่าเพียงค่าเดียว (เช่น ปุ่มตัวเลือกหรือเมนูแบบเลื่อนลง) ให้ตั้งค่าช่องนี้สำหรับรายการเดียวเท่านั้น

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


addMultiSelectItem(text, value, selected, startIconUri, bottomText)

เพิ่มรายการใหม่ที่เลือกได้สำหรับเมนูแบบเลือกหลายรายการ

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
        );

พารามิเตอร์

ชื่อประเภทคำอธิบาย
textObjectข้อความที่จะแสดงสำหรับรายการนี้ ระบบจะแปลงอาร์กิวเมนต์ดั้งเดิมที่ไม่ใช่สตริงเป็นสตริงโดยอัตโนมัติ
valueObjectค่าอินพุตของแบบฟอร์มที่ส่งผ่านการเรียกกลับ ระบบจะแปลงอาร์กิวเมนต์ดั้งเดิมที่ไม่ใช่สตริง เป็นสตริงโดยอัตโนมัติ
selectedBooleanมีการเลือกรายการโดยค่าเริ่มต้นหรือไม่ หากอินพุตการเลือกยอมรับค่าเพียงค่าเดียว (เช่น ปุ่มตัวเลือกหรือเมนูแบบเลื่อนลง) ให้ตั้งค่าช่องนี้สำหรับรายการเดียวเท่านั้น
startIconUriObjectสำหรับเมนูแบบเลือกหลายรายการ URL ของไอคอนที่แสดงข้างช่องข้อความของรายการ รองรับไฟล์ PNG และ JPEG
bottomTextObjectสำหรับเมนูแบบเลือกหลายรายการ ข้อความอธิบายหรือป้ายกำกับที่แสดงใต้ช่องข้อความของรายการ

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setExternalDataSource(action)

ตั้งค่าแหล่งข้อมูลภายนอก เช่น ฐานข้อมูลเชิงสัมพันธ์

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('contacts')
        .setTitle('Selected contacts')
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .setMultiSelectMaxSelectedItems(5)
        .setMultiSelectMinQueryLength(2)
        .setExternalDataSource(
            CardService.newAction().setFunctionName('getContacts'),
        );

พารามิเตอร์

ชื่อประเภทคำอธิบาย
actionActionแหล่งข้อมูลภายนอก

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setFieldName(fieldName)

ตั้งค่าคีย์ที่ระบุอินพุตการเลือกนี้ในออบเจ็กต์เหตุการณ์ที่สร้างขึ้นเมื่อมีการโต้ตอบ UI ผู้ใช้จะมองไม่เห็นข้อมูลนี้ ต้องไม่ซ้ำกัน

พารามิเตอร์

ชื่อประเภทคำอธิบาย
fieldNameStringชื่อที่จะกำหนดให้กับอินพุตนี้

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setId(id)

กำหนดรหัสที่ไม่ซ้ำกันที่กำหนดให้ซึ่งใช้ระบุวิดเจ็ตที่จะเปลี่ยน การเปลี่ยนแปลงวิดเจ็ต รองรับเฉพาะในส่วนเสริม

พารามิเตอร์

ชื่อประเภทคำอธิบาย
idStringรหัสของวิดเจ็ต โดยมีความยาวได้ไม่เกิน 64 อักขระและอยู่ในรูปแบบ `[a-zA-Z0-9-]+`

รีเทิร์น

Widget - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setMultiSelectMaxSelectedItems(maxSelectedItems)

กำหนดจำนวนรายการสูงสุดที่ผู้ใช้เลือกได้

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .setMultiSelectMaxSelectedItems(3)
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
        );

พารามิเตอร์

ชื่อประเภทคำอธิบาย
maxSelectedItemsIntegerจำนวนรายการสูงสุด

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setMultiSelectMinQueryLength(queryLength)

กำหนดจำนวนอักขระข้อความที่ผู้ใช้ป้อนก่อนที่แอปจะค้นหาการเติมข้อความอัตโนมัติและ แสดงรายการที่แนะนำในการ์ด

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('multiselect')
        .setTitle('A multi select input example.')
        .setMultiSelectMinQueryLength(1)
        .addMultiSelectItem(
            'Contact 1',
            'contact-1',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact one description',
            )
        .addMultiSelectItem(
            'Contact 2',
            'contact-2',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact two description',
            )
        .addMultiSelectItem(
            'Contact 3',
            'contact-3',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact three description',
            )
        .addMultiSelectItem(
            'Contact 4',
            'contact-4',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact four description',
            )
        .addMultiSelectItem(
            'Contact 5',
            'contact-5',
            false,
            'https://www.gstatic.com/images/branding/product/2x/contacts_48dp.png',
            'Contact five description',
        );

พารามิเตอร์

ชื่อประเภทคำอธิบาย
queryLengthIntegerจำนวนอักขระข้อความ

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setOnChangeAction(action)

กำหนด Action ที่จะดำเนินการเมื่อใดก็ตามที่อินพุตการเลือกมีการเปลี่ยนแปลง

พารามิเตอร์

ชื่อประเภทคำอธิบาย
actionActionการดำเนินการที่ต้องทำ

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setPlatformDataSource(platformDataSource)

ตั้งค่าแหล่งข้อมูลจาก Google Workspace ใช้เพื่อป้อนข้อมูลรายการในเมนูแบบเลือกหลายรายการ

const multiSelect =
    CardService.newSelectionInput()
        .setType(CardService.SelectionInputType.MULTI_SELECT)
        .setFieldName('contacts')
        .setTitle('Selected contacts')
        .setPlatformDataSource(
            CardService.newPlatformDataSource().setCommonDataSource(
                CardService.CommonDataSource.USER,
                ),
        );
ใช้ได้กับแอป Google Chat เท่านั้น ไม่พร้อมใช้งานสำหรับส่วนเสริม Google Workspace

พารามิเตอร์

ชื่อประเภทคำอธิบาย
platformDataSourcePlatformDataSourceแหล่งข้อมูล

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setTitle(title)

กำหนดชื่อที่จะแสดงก่อนช่องป้อนข้อมูล

พารามิเตอร์

ชื่อประเภทคำอธิบาย
titleStringชื่อช่องป้อนข้อมูล

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setType(type)

กำหนดประเภทของอินพุตนี้ ค่าเริ่มต้นคือ CHECKBOX

พารามิเตอร์

ชื่อประเภทคำอธิบาย
typeSelectionInputTypeประเภทการเลือก

รีเทิร์น

SelectionInput - ออบเจ็กต์นี้สำหรับการเชื่อมโยง


setVisibility(visibility)

ตั้งค่าระดับการมองเห็นของวิดเจ็ต ค่าเริ่มต้นคือ `VISIBLE`

พารามิเตอร์

ชื่อประเภทคำอธิบาย
visibilityVisibilityVisibility ของวิดเจ็ต

รีเทิร์น

Widget — ออบเจ็กต์สำหรับการเชื่อมโยง